type 'a linked_list = private {
  hd : 'a ;
  mutable tl : 'a linked_list Js.null
} [@@deriving jsProperties, getSet]



type t = int -> int -> bool [@u]
and x = private {
  k : t;
  y : string
} [@@deriving jsProperties, getSet]


val f :  x

type u
  val uf : u -> int
  val uf1 : u -> int -> int
  val uf2 : u -> int

type u1
  val uff : u1 -> int
  val uff2 : u1 -> int

  val uff3 : u1 -> int

type u3
val fx : u3 -> int
